linear and nonlinear data structure